查看原文
其他

EWSTM8系列教程10_一个工程添加多个节点

strongerHuang 嵌入式专栏 2021-01-31

顶公众号,不错过每一条消息!


    本教程由作者strongerHuang于2018年08月原创发布。

版权所有:禁止商用

申明:该文档仅供个人学习使用,转载请公众号联系作者授权。


1写在前面

使用IAR新建一个工程,默认会创建Debug(调试)Release(释放)两个Node(节点)。


什么是节点? 为什么要创建这两个节点? 创建多个节点目的和意义? 如何创建多个节点? 带着这些疑问来学习本文才会有更多收获。


为了方便大家平时公交、地铁、外出办事也能用手机随时随地查看该教程,本文章收录于【EWSTM8系列教程】,在微信公众号回复【EWSTM8系列教程】即可查看。


2

什么是节点

本文讲述添加多个节点,就需要了解什么是节点。之前文章《EWSTM8系列教程06_工程节点选项配置(一)》初略讲述了一下工作空间、 工程、 节点三者的关系:

提示:

在IAR中叫Node(节点),而在Keil中叫Target(目标)。其实这两者意思一样,都是隶属于工程的下一级。


3

Debug与Release节点区别

新建一个工程,默认创建两个节点,如下图:

在上一节了解了工程节点之间的关系,那么为什么要一个工程下创建两个节点呢?


两个节点的区别:

Debug节点:主要用于调试使用,包含调试信息。

Release节点:主要用于生成代码(正式产品),不包含调试信息。


细心的朋友会发现,这两个节点选项配置中有几个地方不同,如:C/C++ Compiler下的Output和Preprocessor选项、Assembler下的Output选项等。


关于节点选项配置内容可以参看文章《EWSTM8系列教程06_工程节点选项配置(一)》。


看了Debug和Release这两个节点的区别,相信你应该大概理解了为什么一个工程下要创建多个节点了。


其实,实际项目中还有很多用途,比如:同款产品,不同配置(不同芯片型号,不同编译等级...等节点选项配置不同)。


4

如何创建多个节点

4.1 主要步骤

1.创建一个工程

2.添加组,添加文件

3.工程节点选项配置

4.基于某一个节点添加新的节点


其实这四个步骤中前三个都已经在文章《EWSTM8系列教程02_新建基础软件工程》中实现了,这里列出来主要是给初学者一个(从前到后的)提示。


下面就基于《EWSTM8系列教程02_新建基础软件工程》建好的工程,在Debug节点基础上添加一个Test节点。


4.2 添加Test节点

1.Project -> Edit Configurations进入编辑配置


2.点击“New”进入添加新节点配置

A.填写节点名称;

B.基于某节点,这里相当于拷贝选择节点选项配置;

C.默认设置为Debug或Release;


配置好之后,点击OK,再点击OK就行了。


3.修改节点选项配置

比如:修改Test节点输出格式从hex格式修改为bin格式;


选择Test节点 -> 选中节点右键 -> Options -> Output Converter ->修改成bin格式。具体操作可以参看下面动画效果:


修改节点选项配置动画效果:


最后提示:

多个节点之间的区别总结来说就是:各自节点的选项配置不同。当然,可能就一个选项配置不同,也可能多个。节点选项的配置内容很多,请参看《EWSTM8系列教程06_工程节点选项配置(一)》。


5

多节点工程源代码下载

为方便大家学习,我这里提供可直线编译运行的源代码供大家下载。

百度网盘下载地址:

https://pan.baidu.com/s/16elpok-5IdPYoeNGXXFszw

密码:m9pa


GitHub下载地址:

https://github.com/EmbeddedDevelop/STM8S_Multi-Node.git


提示:公众号不支持外链接,请复制链接到浏览器下载。下载链接后期可能会失效, 请关注微信公众号公告消息


6

说明

1.本文大部分内容也适合IAR其它版本,如EWARM、EW430等。


2.该文档仅供个人学习使用,版权所有,禁止商用。


3.本教程收录于微信公众号【EmbeddedDevelop】,关注微信公众号回复【EWSTM8系列教程】即可查看全系列教程。


7最后

本文由作者strongerHuang原创发布,转载请公众号联系作者授权。


若觉得文章对你有帮助,记得点赞、分享。(一个赞代表一份认可


扫描下面二维码、关注,在底部菜单中查看更多精彩内容!


长按识别图中二维码关注

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存